// 引入axios
import axios from 'axios'

// 创建实例
axios.defaults.baseURL='http://localhost:8088/';

// 设置请求拦截器
axios.interceptors.request.use(

  config => {
        console.log(config.url)
      switch(config.url) {
          case "/user/**":
          case "/kaptcha":
              return config
      }

      if (JSON.parse(localStorage.getItem("Manager"))!=null){
          var token = JSON.parse(localStorage.getItem("Manager")).token
          console.log('token是这个：' + token)
          config.headers.Authorization = token;
          console.log('请求头：' + config.headers.Authorization)
          return config
      }
    // console.log(config) // 该处可以将config打印出来看一下，该部分将发送给后端（server端）

      if (JSON.parse(localStorage.getItem("user"))==null){
          return config
      }
    var token = JSON.parse(localStorage.getItem("user")).token
    console.log('token是这个：' + token)
    config.headers.Authorization = token;
    console.log('请求头：' + config.headers.Authorization)
    // config.headers["Access-Control-Allow-Origin"] = '*'
    // config.headers["Access-Control-Allow-Headers"] = "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"
    // config.headers["Access-Control-Allow-Methods"] = "PUT,POST,GET,DELETE,OPTIONS"
    return config // 对config处理完后返回，下一步将向后端发送请求
  },
  error => { // 当发生错误时，执行该部分代码
    // console.log(error) // 调试用
    return Promise.reject(error)
  }
)

// 定义响应拦截器 -->token值无效时,清空token,并强制跳转登录页
// 响应拦截
axios.interceptors.response.use(function (response) {
// 这个是处理响应成功的结果，也就是说响应状态码为2XX系列的
    return response;
},function (error) {
// 这个是处理响应失败的，也就是响应错误的，在这个箭头函数中，才能拿到401状态下的包
    if (error.response.status === 401) {
    }
    return Promise.reject(error);
});

export default axios;
